/*
 * PipeReader.h
 *
 *  Created on: 2020年11月16日
 *      Author: chuanjiang.zh
 */

#ifndef PIPEREADER_H_
#define PIPEREADER_H_

#include "BasicType.h"
#include <string>
#include <vector>
#include <functional>


class PipeReader
{
public:
	typedef std::function< bool (const std::string& line) >	LineHandler;

public:
	PipeReader();
	virtual ~PipeReader();

	static bool read(const std::string& cmd, std::string& text);
	static bool read(const std::string& cmd, std::vector<std::string>& lines);
	static bool read(const std::string& cmd, LineHandler pred, std::vector<std::string>& lines);

	static bool readOne(const std::string& cmd, LineHandler pred, std::string& text);
	

};

#endif /* PIPEREADER_H_ */
